
package com.qiaofang.entity.enums;

import com.qiaofang.common.utils.EnumUtil;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;

public enum ReportWayEnum implements Serializable {
    /**
     * 全号/前三后四
     */
    type_1("0", "全号/前三后四"),
    /**
     * 全号
     */
    type_2("1", "全号"),
    /**
     * 前三后四
     */
    type_3("2", "前三后四"),
    /**
     * 前四后三
     */
    type_4("3", "前四后三"),
    /**
     * 前三后五
     */
    type_5("4", "前三后五"),
    /**
     * 前二后六
     */
    type_6("5", "前二后六"),
    /**
     * 前四后四
     */
    type_7("6", "前四后四"),
    ;


    private final String no;

    private final String des;

    static {
        EnumUtil.ENUMS_TO_VIEW.put("report_way", ReportWayEnum.values());
    }

    ReportWayEnum(String no, String des) {
        this.no = no;
        this.des = des;
    }

    /**
     * @return Returns the no.
     */
    public String getNo() {
        return no;
    }

    public String getDes() {
        return des;
    }

    /**
     * 通过枚举<code>des</code>获得枚举
     *
     * @param des
     * @return
     */
    public static ReportWayEnum getByDescription(String des) {
        if (StringUtils.isBlank(des)) {
            return null;
        }
        for (ReportWayEnum menum : values()) {
            if (menum.getDes().equals(des)) {
                return menum;
            }
        }
        return null;
    }

    public static ReportWayEnum getByNo(String no) {
        if (StringUtils.isBlank(no)) {
            return null;
        }
        for (ReportWayEnum menum : values()) {
            if (menum.getNo().equals(no)) {
                return menum;
            }
        }
        return null;
    }

    public static String getDescByNo(String no) {

        ReportWayEnum byNo = getByNo(no);

        return byNo == null ? null : byNo.getDes();

    }

}
